一种支持IP模块动态频率变换的装置,包括时钟分频器,用于接收基准时钟,并产生多组不同时钟分频比的时钟信号和时钟使能信号;IP模块总线接口,用于IP模块与总线的通信,所述IP模块总线接口与总线通讯连接,时钟变频器,用于根据当前的分频比信号产生当前的IP时钟使能信号,IP时钟使能信号以及系统时钟信号;所述的时钟分频器的输出端与所述时钟变频器的输入端连接,所述时钟变频器的输出端与所述IP模块总线接口、总线连接。本发明能降低功耗、缩短频率变化时间。
1.一种支持IP模块动态频率变换的装置,包括时钟分频器,用于接收基准时钟,并产生多组不同分频比的时钟信号;IP模块总线接口,用于IP模块与总线的通信,所述IP模块总线接口与总线通讯连接,其特征在于:所述时钟分频器还产生时钟使能信号,所述装置还包括:时钟变频器,用于根据当前的分频比信号产生当前的IP时钟信号、IP时钟使能信号以及系统时钟信号;xa0所述的时钟分频器的输出端与所述时钟变频器的输入端连接,所述时钟变频器的输出端与所述IP模块总线接口、总线连接;所述的时钟变频器接收时钟分频比信号作为其输入之一,并接收时钟分频器产生的多组不同分频比的时钟信号和时钟使能信号作为其输入,其产生IP时钟信号和IP时钟使能信号输入所述IP模块总线接口,同时产生系统时钟信号输入到总线;xa0正常工作时,IP时钟使能信号和系统时钟信号由时钟分频比信号选择产生;当频率发生切换时,先保持选中原有系统时钟信号并屏蔽IP时钟使能信号向外输出,一直等到原有的内部IP时钟使能信号再次到来,即原有的系统时钟完整走完一个周期;此后同时屏蔽IP时钟使能信号和系统时钟信号向外输出,当检测到变化后的新的时钟使能信号到来时,将内部IP时钟使能信号切换到变化后的IP时钟使能信号,IP时钟使能信号向外输出同时屏蔽系统时钟信号向外输出;当再次检测到变化后的时钟分频比对应的时钟使能信号到来时,向外输出IP时钟使能信号和系统时钟信号。xa0
2.如权利要求1所述的支持IP模块动态频率变换的装置,其特征在于:所述的IP模块总线接口内部存在两个时钟域,IP模块时钟域和系统时钟域,其中IP模块时钟域由IP时钟使能信号进行控制,系统时钟域由IP时钟信号以及IP时钟使能信号进行控制,信号在两个内部时钟域间传输时,只有在IP时钟使能信号有效时才能进行传输。xa0
3.如权利要求1或2所述的支持IP模块动态频率变换的装置,其特征在于:所述的时钟变频器由一有限状态机控制。xa0
技术领域本发明涉及SOC/CPU领域,更具体的说,本发明涉及一种支持IP模块动态频率变换的装置。
背景技术在集成电路设计中,功耗问题正日益成为最需要关注的问题,它影响到设计的可行性、成本和可靠性。由于功耗跟频率成正比关系,因此可以通过降低频率来达到降低功耗的目的。在当前的SOC架构中,某些IP模块(比如处理器模块)在某个时钟频率下工作,而总线和其他IP模块在另外一个时钟频率下工作。而大部分的程序都不需要处理器模块总在最高频率下工作,当处理器不需要满负荷工作时,可以降低其频率工作,这样既可以完成程序的需求,又可以降低功耗。而通常系统时钟不会改变。在当前的频率变换装置中,通常都是静态频率变换,即只能在系统启动时通过改变系统时钟和处理器时钟的比值来达到频率变换的效果,这样使得程序不能根据自身的需要动态的改变频率,减少了功耗降低的可能性。而在当前的一些动态频率变换装置中,通常需要执行某些特殊指令比如低功耗指令使处理器进入特殊状态然后再动态改变处理器频率,这种方法会延长处理器动态变频的时间。
发明内容为了克服已有的频率变化装置的存在较大功耗、频率变化时间较长的不足,本发明提供一种降低功耗、缩短频率变化时间的支持IP模块动态频率变换的装置。本发明解决其技术问题所采用的技术方案是:一种支持IP模块动态频率变换的装置,包括时钟分频器,用于接收基准时钟,并产生多组不同分频比的时钟信号;IP模块总线接口,用于IP模块与总线的通信,所述IP模块总线接口与总线通讯连接,所述时钟分频器还产生时钟使能信号,所述装置还包括:时钟变频器,用于根据当前的分频比信号产生当前的IP时钟使能信号,IP时钟使能信号以及系统时钟信号;所述的时钟分频器的输出端与所述时钟变频器的输入端连接,所述时钟变频器的输出端与所述IP模块总线接口、总线连接;所述的时钟变频器接收时钟分频比信号作为其输入之一,并接收时钟分频器产生的多组不同分频比的时钟信号和时钟使能信号作为其输入,其产生IP时钟使能信号和IP时钟使能信号输入所述IP模块总线接口,同时产生系统时钟信号输入到总线;正常情况下,IP时钟使能信号和系统时钟信号由时钟分频比信号选择产生;当频率发生切换时,先保持选中原有系统时钟信号并屏蔽IP时钟使能信号向外输出,一直等到原有的内部IP时钟使能信号再次到来,即原有的系统时钟完整走完一个周期;此后同时屏蔽IP时钟使能信号和系统时钟信号向外输出,当检测到变化后的新的时钟使能信号到来时,将内部IP时钟使能信号切换到变化后的IP时钟使能信号,IP时钟使能信号向外输出同时屏蔽系统时钟信号向外输出;当再次检测到变化后的时钟分频比对应的时钟使能信号到来时,向外输出IP时钟使能信号和系统时钟信号。进一步,所述的IP模块总线接口内部存在两个时钟域,IP模块时钟域和系统时钟域,其中IP模块时钟域由IP时钟使能信号进行控制,系统时钟域由IP时钟使能信号以及IP时钟使能信号进行控制,信号在两个内部时钟域间的传输时,只有在IP时钟使能信号有效时才能进行传输。所述的时钟变频器由一有限状态机控制。本发明中,所述的时钟分频比信号为系统时钟与IP模块时钟的频率比,其值由SOC系统用户指定。所述的动态频率变换通过改变时钟分频比信号实现。所述的时钟分频器中每种分频比对应一组时钟信号和时钟使能信号,其组数由可支持的分频比种数决定。所述的时钟变频器产生的IP时钟信号和IP时钟使能信号仅由所述的IP模块总线接口使用,而产生的系统时钟信号由SOC系统中的其余模块使用。所述的IP时钟信号不会被时钟变频器中的有限状态机屏蔽。本发明的有益效果主要表现在:1、实现IP模块的动态变频,在系统低负载时,降低系统的整体功耗。2、实现频率的快速变化,缩短系统频率变化的时间。
附图说明图1是一种支持处理器核IP的动态变频装置的总体框图。图2是时钟分频器产生的八种分频比的时钟信号和时钟使能信号图。图3是时钟分频器结构图。图4是控制时钟变频器的有限状态机的状态转换图。图5是分频比从1/2变化到1/3的示例图。图6是处理器总线接口中的处理器时钟域和系统时钟域的信号转换图。
具体实施方式下面结合附图对本发明作进一步描述。参照图1~图6,一种支持IP模块动态频率变换的装置,包括一时钟分频器,用于接收基准时钟,并产生多组多种不同分频比的时钟信号和时钟使能信号;一时钟变频器,用于根据当前的分频比信号产生当前的处理器时钟信号,处理器时钟使能信号以及系统时钟信号;一处理器总线接口,用于处理器与总线的通信。其中:所述的时钟分频器接收基准时钟作为其输入,其输出端连接到所述时钟变频器的输入端。所述的时钟变频器接收时钟分频比信号作为其输入之一,并接收时钟分频器产生的多组不同分频比的时钟信号和时钟使能信号作为其输入,其产生处理器时钟信号和处理器时钟使能信号输入所述处理器模块总线接口,同时产生系统时钟信号输入到SOC系统中的其余IP模块所述的处理器总线接口接收时钟变频器产生的处理器时钟信号和处理器时钟使能信号作为本模块时钟信号作为其输入之一,并接收总线的通信信号作为其输入,其输出端连接到总线与总线进行通信。所述的时钟变频器由一有限状态机控制,正常情况下,IP模块使能信号和系统时钟信号由时钟分频比信号选择产生。当时钟分频比信号变化,即频率发生切换时,状态机先保持选中原有系统时钟信号并屏蔽IP模块使能信号向外输出,一直等到原有的内部IP模块使能信号再次到来,确保原有的系统时钟完整走完一个周期。此后状态机同时屏蔽IP模块使能信号和系统时钟信号向外输出,当状态机检测到变化后的新的时钟使能信号到来时,状态机将内部IP模块使能信号切换到变化后的IP时钟使能信号,IP时钟使能信号向外输出同时屏蔽系统时钟信号向外输出。当状态机再次检测到变化后的时钟分频比对应的时钟使能信号到来时,向外输出IP模块使能信号和系统时钟信号。所述的IP模块总线接口内部存在两个时钟域,IP模块时钟域和系统时钟域,其中IP模块时钟域由IP时钟使能信号进行控制,系统时钟域由IP时钟使能信号以及IP时钟使能信号进行控制,信号在两个内部时钟域间的传输时,只有在IP时钟使能信号有效时才能进行传输。本实施例中,包括时钟分频器10,时钟变频器20,处理器总线接口30.时钟分频器10接收基准时钟作为其输入,将基准时钟进行分频,产生1/1,1/2,1/3,1/4,1/5,1/6,1/7,1/8等八种分频比的时钟信号,并根据此八种分频比的时钟信号产生相应的时钟使能信号。处理器时钟信号与基准时钟一致,具体参考图2。时钟变频器20接收时钟分频器10产生的处理器时钟信号直接输出给处理器总线接口使用。处理器时钟信号通过两个选择器21和22分别产生变化前的系统时钟信号pre_sysclk和变化后的系统时钟信号cur_sysclk,上述两个信号最后通过一个选择器23产生最终输出的系统时钟信号,0输入表示系统时钟信号被屏蔽。时钟使能信号通过两个选择器25和26分别产生变化前的系统时钟信号pre_clk_en和变化后的系统时钟信号cur_clk_en,上述两个信号最后通过一个选择器27产生最终输出的时钟使能信号,0输入表示时钟使能信号被屏蔽。以上选择器中的控制信号由状态机24产生。具体参考图3.上述的有限状态机如图4所示,包括4个状态:IDLE、MASK_CLK_EN、MASK_ALL、MASK_SYSCLK。IDLE态监测时钟分配比信号的变化,当时钟分频比信号发生变化即图3中的clkratio_chg_en信号有效时,状态机从IDLE态转换到MASK_CLK_EN态,当状态机处于IDLE态时,系统时钟信号和处理器时钟使能信号直接由当前的时钟分频比信号选择产生。MASK_CLK_EN态监测原有分频比所对应的时钟使能信号pre_clk_en,当其有效时,状态机从MASK_CLK_EN态转换到MASK_ALL态,当状态机处于MASK_CLK_EN态时,系统时钟信号保持原有值,但屏蔽掉处理器时钟时能信号,即将处理器时钟使能信号置为0.MASK_ALL态监测当前时钟分频比所对应的时钟时能信号cur_clk_en,当其有效时,状态机从MASK_ALL态转换到MASK_SYSCLK态,当状态机处于MASK_ALL态时,系统时钟信号和处理器时钟使能信号都被屏蔽掉,即将两信号都置为0.MASK_SYSCLK态监测当前时钟分频比所对应的时钟时能信号cur_clk_en,当其有效时,状态机从MASK_ALL态转换到IDLE态,当状态机处于MASK_SYSCLK态时,处理器时钟使能信号切换到当前时钟分频比所对应的时钟使能信号,系统时钟信号继续被屏蔽。当状态机重新转换到IDLE态后,变频工作即完成。为了更好的解释上述变频的过程,现已频率从分频比从1/2变化到1/3为例,介绍变频的详细过程。变频过程中的信号变化如图5所示。开始时分频比为1/2,状态机处于IDLE态,此时状态机根据分频比选择1/2的时钟信号和时钟使能信号作为系统时钟信号和处理器时钟使能信号。在T2周期时,时钟分频比发生变化,即从1/2变化到1/3,此时时钟分频比变化使能信号即clkratio_chg_en信号有效,状态机监测到此信号有效后转换到MASK_CLK_EN态。在T3周期时状态机处于MASK_CLK_EN态,此时系统时钟信号保持原有的时钟分频比为1/2时的时钟信号,并将处理器时钟信号进行屏蔽。在T4周期,状态机检测到原有的时钟使能信号即时钟分频比为1/2时的时钟使能信号有效时,状态机转换到MASK_ALL态。在T5周期状态机处于MASK_ALL态,此时系统时钟信号和处理器时钟使能信号都被屏蔽。在T6周期,状态机检测到当前的时钟使能信号即时钟分频比为1/3时的时钟使能信号有效时,状态机转换到MASK_SYSCLK态。在T7周期状态机处于MASK_SYSCLK态,此时系统时钟信号被屏蔽,而处理器时钟使能信号切换到时钟分频比为1/3对应的时钟使能信号。在T9周期,状态机检测到当前的时钟使能信号即时钟分频比为1/3时的时钟使能信号有效时,状态机重新回到IDLE态。在T10周期,状态机处于IDLE态,此时系统时钟信号和处理器时钟信号切换到当前时钟分频比即1/3对应的时钟信号和时钟使能信号。此时变频工作完成。处理器总线接口30主要是完成处理器模块与总线通信的工作。其包括两个时钟域,处理器时钟域和系统时钟域。处理器时钟域的信号由处理器时钟控制,而系统时钟域的信号由处理器时钟和处理器时钟使能信号控制。对于跨时钟域的信号由处理器时钟和处理器时钟使能信号进行同步。图6显示了对于跨时钟域信号的同步过程,处理器请求信号处于处理器时钟域,当处理器总线接口接收到处理器的请求信号,并且处理器时钟信号和处理器时钟使能信号有效,即在处理器时钟信号的上升沿和处理器时钟使能信号为1时,处理器的请求信号从处理器时钟域转换到系统时钟域,并将请求放上总线与总线进行通信。